home *** CD-ROM | disk | FTP | other *** search
/ Whiteline: Alpha / Whiteline Alpha.iso / tex / tools / cassette / cassette.sty < prev   
Encoding:
Text File  |  1994-09-22  |  8.7 KB  |  282 lines

  1. % LaTeX-Kasettenmakros V. 1.2, 01.05.1994
  2. % Copyright (C) 1994 Andreas Schrell und Michael Rogalla, alle Rechte vorbehalten.
  3. % Fehlermeldungen bei unveränderter Version bitte an:
  4. %
  5. %                          Michael Rogalla
  6. %                          Am Tannenbaum 6
  7. %                          42499 Hückeswagen
  8. %
  9. %
  10. % Standardeinstellung
  11. %
  12. \def\SP{\unitlength=1mm
  13. \linethickness{0.3mm}
  14. \begin{picture}(9.80,11.00)
  15. \put(8.00,0.00){\line(0,1){11.00}}
  16. \linethickness{0.1mm}
  17. \put(-3.10,-66.00){\line(1,0){1.00}}
  18. \put(97.90,-66.00){\line(-1,0){1.00}}
  19. \end{picture}}
  20. \def\QA{}
  21. \def\QB{}
  22. \def\ZA{}
  23. \def\ZB{}
  24. \def\RA{}
  25. \def\RB{}
  26. \def\RandTitel{\hfill}
  27. \def\casnr{}
  28.  
  29. % Makros für gedrehte Schriften:
  30. \newcommand{\nline}{\\}
  31. {\catcode`p=12\catcode`t=12\gdef\nline#1pt{#1}}
  32.  
  33. \let\getfactor=\nline
  34.  
  35. \def\dolist{\afterassignment\dodolist\let\next= }
  36.  
  37. \def\dodolist{\ifx\next\endelist\let\next\relax
  38.     \else \nline\let\next\dolist \fi\next}
  39.  
  40. \def\endelist{\endlist}
  41.  
  42. \def\nline{% next char letter or space
  43.   \expandafter\if\space\next\addspace\else\point\next\fi}
  44.  
  45. \newdimen\x
  46. \newdimen\y
  47. \def\initialize{\global\x=0pt\global\y=0pt}
  48.  
  49. \newdimen\DeltaX
  50. \newdimen\DeltaY
  51. \def\newcoords{%
  52.   \DeltaX=\expandafter\getfactor\the\fontdimen11\anglefont \wd0
  53.   \DeltaY=\expandafter\getfactor\the\fontdimen10\anglefont \wd0
  54.   \global\advance\x by \DeltaX
  55.   \global\advance\y by \DeltaY}
  56.  
  57. \newbox\spacebox
  58. \setbox\spacebox=\hbox{\ }
  59.  
  60. \def\addspace{\setbox0=
  61.   \copy\spacebox \newcoords}
  62.  
  63. \def\point#1{%
  64.    \setbox0=\hbox{\anglefont #1}% used by \newcoords
  65.    \setbox2=\hbox{\anglefont #1}% used for typesetting
  66.    \wd2=0pt \ht2=0pt \dp2=0pt
  67.    \rlap{\kern\x \raise\y \box2}%
  68.    \newcoords}
  69.  
  70. % the name off the game
  71. \parindent=0pt
  72. \parskip=0pt
  73. %\pagestyle{empty}
  74.  
  75. \def\cassette#1
  76. % begin
  77. {\def\test{#1}\ifx\test\empty\else\Rand{#1}\fi
  78.  \hbox\bgroup\vbox\bgroup\fboxsep=2mm
  79.  \hbox{\fbox{\vbox to 12mm{\hsize=97mm
  80.  \ifx\selectfont\undefined\footnotesize\else%
  81.  \fontfamily{cmr}\fontseries{m}\fontshape{n}\fontsize{10}{10pt}\selectfont\fi
  82.  {{\bf A}\underline{\hfill\hbox to 30mm{\hfill\ZA\hfill}\hfill
  83.  \hfill\hbox to 29.5mm{\hfill Tag\,/\,Zeit\hfill}
  84.  \hfill\hbox to 30mm{\hfill\ZB\hfill}\hfill}{\bf B}} \vfil
  85.  {\underline{\hfill \hbox to 30mm{\hfill\RA\hfill}\hfill
  86.  \hfill\hbox to 35mm{\hfill Rauschunterdrückung\hfill}
  87.  \hfill\hbox to 30mm{\hfill\RB\hfill}\hfill}} \vfil
  88.  {\hfill\hbox to 30mm{\hfill\QA\hfill}\hfill
  89.  \hfill\hbox to 35mm{\hfill Quelle\hfill}
  90.  \hfill\hbox to 30mm{\hfill\QB\hfill}\hfill}
  91.  \vfil}}}\nointerlineskip\kern-\fboxrule
  92.  \fboxsep=1mm
  93.  \hbox{\fbox{\hbox{\kern1mm\SP\vbox to 11mm{\hsize=86.05mm\vfil %
  94. % ------------------------------------------------------------------------
  95. % falls der Rahmen des Titelbereiches nicht korrekt gesetzt worden ist,
  96. % dann bitte \hsize=86.05mm in 0.05mm-Schritten ändern
  97. % ------------------------------------------------------------------------
  98.  \ifx\selectfont\undefined\Large\else%
  99.  \fontseries{m}\fontshape{n}\fontsize{12}{14pt}\selectfont\fi
  100.  \RandTitel{\hfill\ifx\selectfont\undefined\tiny\else%
  101.  \fontsize{8}{8pt}\selectfont\fi\casnr}\par
  102.  \vfil}\kern1mm}}}\nointerlineskip\kern-\fboxrule
  103.  \fboxsep=2mm
  104.  \setbox0\vbox to 123mm\bgroup\hsize=97mm
  105.  \ifx\selectfont\undefined\normalsize\else%
  106.  \fontseries{m}\fontshape{n}\fontsize{10}{12pt}\selectfont\fi
  107. }%
  108. % end
  109. \def\endcassette{\par\vfil\egroup
  110.  \hbox{\fbox{\box0}}\egroup\egroup\par}
  111.  
  112. % Titelbereich:
  113. \newcommand{\Rand}[1]{\def\RandTitel{#1}}
  114.  
  115. % Maximale Spielzeit der Kasette:
  116. \newcommand{\CA}[0]{\unitlength=1mm
  117. \begin{picture}(0,0)
  118. \put(0.30,6.50){\line(1,0){4.60}}
  119. \put(0.00,6.80){\line(0,1){2.00}}
  120. \put(2.60,6.80){\line(0,1){2.00}}
  121. \put(5.20,6.80){\line(0,1){2.00}}
  122. \put(0.30,1.90){\line(1,0){4.60}}
  123. \put(0.00,2.20){\line(0,1){2.00}}
  124. \put(0.30,4.50){\line(1,0){4.60}}
  125. \put(5.20,2.20){\line(0,1){2.00}}
  126. \end{picture}}
  127. \newcommand{\CB}[0]{\unitlength=1mm
  128. \begin{picture}(0,0)
  129. \put(0.30,6.50){\line(1,0){4.60}}
  130. \put(2.60,6.80){\line(0,1){2.00}}
  131. \put(2.90,9.10){\line(1,0){2.00}}
  132. \put(0.00,2.20){\line(0,1){2.00}}
  133. \put(0.30,1.90){\line(1,0){2.00}}
  134. \put(2.60,2.20){\line(0,1){2.00}}
  135. \put(2.90,4.50){\line(1,0){2.00}}
  136. \put(5.20,2.20){\line(0,1){2.00}}
  137. \end{picture}}
  138. \newcommand{\CC}[0]{\unitlength=1mm
  139. \begin{picture}(0,0)
  140. \put(0.30,9.10){\line(1,0){4.60}}
  141. \put(0.00,6.80){\line(0,1){2.00}}
  142. \put(2.60,6.80){\line(0,1){2.00}}
  143. \put(5.20,6.80){\line(0,1){2.00}}
  144. \put(0.30,6.50){\line(1,0){2.00}}
  145. \put(0.30,1.90){\line(1,0){4.60}}
  146. \put(0.00,2.20){\line(0,1){2.00}}
  147. \put(0.30,4.50){\line(1,0){4.60}}
  148. \put(5.20,2.20){\line(0,1){2.00}}
  149. \end{picture}}
  150. \newcommand{\CD}[0]{\unitlength=1mm
  151. \begin{picture}(0,0)
  152. \put(0.30,6.50){\line(1,0){4.60}}
  153. \put(0.00,6.80){\line(0,1){2.00}}
  154. \put(2.60,6.80){\line(0,1){2.00}}
  155. \put(5.20,6.80){\line(0,1){2.00}}
  156. \put(2.90,9.10){\line(1,0){2.00}}
  157. \put(0.30,1.90){\line(1,0){4.60}}
  158. \put(0.00,2.20){\line(0,1){2.00}}
  159. \put(0.30,4.50){\line(1,0){4.60}}
  160. \put(5.20,2.20){\line(0,1){2.00}}
  161. \end{picture}}
  162. \newcommand{\CE}[0]{\unitlength=1mm
  163. \begin{picture}(0,0)
  164. \put(5.20,8.90){\line(0,1){1.00}}
  165. \put(0.30,8.60){\line(1,0){4.60}}
  166. \put(0.30,5.00){\line(1,0){4.60}}
  167. \put(0.00,5.30){\line(0,1){2.00}}
  168. \put(5.20,5.30){\line(0,1){2.00}}
  169. \put(0.30,7.60){\line(1,0){4.60}}
  170. \put(0.30,1.40){\line(1,0){4.60}}
  171. \put(0.00,1.70){\line(0,1){2.00}}
  172. \put(0.30,4.00){\line(1,0){4.60}}
  173. \put(5.20,1.70){\line(0,1){2.00}}
  174. \end{picture}}
  175. \newcommand{\CF}[0]{\unitlength=1mm
  176. \begin{picture}(0,0)
  177. \put(5.20,8.10){\line(0,1){1.00}}
  178. \put(0.30,7.80){\line(1,0){4.60}}
  179. \put(5.20,5.80){\line(0,1){1.00}}
  180. \put(0.30,5.50){\line(1,0){4.60}}
  181. \put(0.30,1.90){\line(1,0){4.60}}
  182. \put(0.00,2.20){\line(0,1){2.00}}
  183. \put(0.30,4.50){\line(1,0){4.60}}
  184. \put(5.20,2.20){\line(0,1){2.00}}
  185. \end{picture}}
  186. \newcommand{\CG}[0]{\unitlength=1mm
  187. \begin{picture}(0,0)
  188. \put(5.20,8.90){\line(0,1){1.00}}
  189. \put(0.30,8.60){\line(1,0){4.60}}
  190. \put(2.90,5.00){\line(1,0){2.00}}
  191. \put(0.00,5.30){\line(0,1){2.00}}
  192. \put(2.60,5.30){\line(0,1){2.00}}
  193. \put(5.20,5.30){\line(0,1){2.00}}
  194. \put(0.30,7.60){\line(1,0){2.00}}
  195. \put(0.30,1.40){\line(1,0){4.60}}
  196. \put(0.00,1.70){\line(0,1){2.00}}
  197. \put(0.30,4.00){\line(1,0){4.60}}
  198. \put(5.20,1.70){\line(0,1){2.00}}
  199. \end{picture}}
  200.  
  201. \newcommand{\SpielZeit}[1]{\def\sz{#1}
  202. \def\SP{\unitlength=1mm
  203. \linethickness{0.3mm}
  204. \begin{picture}(9.80,11.00)
  205. \if \sz a \put(0,0){\CA}\fi
  206. \if \sz b \put(0,0){\CB}\fi
  207. \if \sz c \put(0,0){\CC}\fi
  208. \if \sz d \put(0,0){\CD}\fi
  209. \if \sz e \put(0,0){\CE}\fi
  210. \if \sz f \put(0,0){\CF}\fi
  211. \if \sz g \put(0,0){\CG}\fi
  212. \put(8.00,0.00){\line(0,1){11.00}}
  213. \linethickness{0.1mm}
  214. \put(-3.10,-66.00){\line(1,0){1.00}}
  215. \put(97.90,-66.00){\line(-1,0){1.00}}
  216. \end{picture}}}
  217.  
  218. % Maximale Spielzeit der Kasette (gedrehte Schriften):
  219. \newcommand{\SpielZeitR}[2]{\def\sz{#1}\font\anglefont=#2
  220. \def\SP{\unitlength=1mm
  221. \linethickness{0.3mm}
  222. \begin{picture}(9.80,11.00)
  223. \ifx\sz\empty\else\put(0.90,6.50){\makebox(0,0)[cc]{%
  224.  \dolist\initialize #1 \endelist}}\fi
  225. \put(8.00,0.00){\line(0,1){11.00}}
  226. \linethickness{0.1mm}
  227. \put(-3.10,-66.00){\line(1,0){1.00}}
  228. \put(97.90,-66.00){\line(-1,0){1.00}}
  229. \end{picture}}}
  230.  
  231. % Interpret, Autor, Sänger oder Gruppe:
  232. \def\Saenger{\@ifnextchar [{\@Saenger}{\@Saenger[]}}
  233. \def\@Saenger[#1]#2{{\ifx\selectfont\undefined\bf\else%
  234.  \fontseries{b}\selectfont\fi\underline{#2:}\ifx#1\empty\else%
  235.  ~\hfill\penalty10000[#1]\fi\par\vspace*{1.5mm}}}
  236.  
  237. % Name des Musikstückes:
  238. \def\Titel{\@ifnextchar [{\@Titel}{\@Titel[]}}
  239. \def\@Titel[#1]#2{#2\ifx#1\empty\else%
  240.  ~\hfill\penalty10000[#1]\fi\par}
  241. %\newcommand{\Titel}[2]{#1\ifx#2\empty\else~\hfill\penalty10000[#2]\fi\par}
  242.  
  243. % Quelle der Seite A:
  244. \newcommand{\QuellA}[1]{\def\QA{#1}}
  245.  
  246. % Quelle der Seite B:
  247. \newcommand{\QuellB}[1]{\def\QB{#1}}
  248.  
  249. % Datum/Zeit der Aufnahme der Seite A:
  250. \newcommand{\ZeitA}[1]{\def\ZA{#1}}
  251.  
  252. % Datum/Zeit der Aufnahme der Seite B:
  253. \newcommand{\ZeitB}[1]{\def\ZB{#1}}
  254.  
  255. % Art der Rauschunterdrückung der Seite A:
  256. \newcommand{\RauschA}[1]{\def\RA{#1}}
  257.  
  258. % Art der Rauschunterdrückung der Seite B:
  259. \newcommand{\RauschB}[1]{\def\RB{#1}}
  260.  
  261. % Bereich der Inhaltsangabe teilen (vertikal):
  262. \newdimen\merkorgH\merkorgH=\hsize
  263. \newdimen\merkH
  264. \newcommand{\geteilt}[2]{\merkH=0.5\hsize
  265.  \advance \merkH by -2mm
  266.  \merkorgH=\merkH
  267.  \hbox to \hsize{\raggedright\sloppy
  268.  \vtop{\hsize=\merkH\relax #1}\hfil\vrule\hfil
  269.  \vtop{\hsize=\merkH\relax #2}}}
  270.  
  271. % Bereich der Inhaltsangabe teilen (horizontal):
  272. \newcommand{\ZweiteSeite}{\ifdim \merkorgH=\merkH\else
  273. \vspace{2mm} \hrule width\hsize \vspace{2mm}\fi}
  274.  
  275. % Nummer der Kasette (gedrehte Schrift):
  276. \newcommand{\CassNrR}[2]{\def\casnr{\font\anglefont=#2\raisebox{9.25mm}[][]{%
  277.  \dolist\initialize Nr.: #1\endelist}\hspace*{1.3mm}}}
  278.  
  279. % Nummer der Kasette:
  280. \newcommand{\CassNr}[1]{\def\casnr{Nr.: #1}}
  281.  
  282. \endinput